링크된 문서
Everything Search
Everything Search
Everything Search MCP 서버는 Windows, macOS, Linux 등 다양한 플랫폼에서 빠르고 효율적인 파일 검색 기능을 제공합니다. Windows에서는 Everything SDK를 사용하고, macOS에서는 mdfind 명령을, Linux에서는 locate/plocate 명령을 활용하여 각 운영체제의 최적화된 검색 기능을 제공합니다. 이 서버를 통해 LLM은 사용자의 파일 시스템을 빠르게 탐색하고, 파일 타입, 이름, 내용, 메타데이터 등 다양한 기준으로 파일을 찾을 수 있습니다.
특징
- 크로스 플랫폼 지원: Windows, macOS, Linux 등 주요 운영체제에서 동작
- 초고속 검색: 색인 기반의 빠른 파일 검색 기능
- 다양한 검색 필터링: 파일 이름, 확장자, 내용, 날짜, 크기 등으로 필터링
- 정규식 검색: 고급 검색을 위한 정규식 패턴 지원
- 메타데이터 검색: 파일 메타데이터를 이용한 검색 기능
- 파일 내용 검색: 텍스트 파일 내용 검색 지원
- 상세 파일 정보: 검색된 파일의 상세 정보 제공
- 접근 제어: 검색 범위 제한 및 보안 설정 지원
API
도구
기본 검색
- search_files: 기본 파일 검색
- 입력: 검색어, 검색 옵션(경로, 필터 등)
-
출력: 검색 결과 파일 목록
-
search_by_content: 파일 내용으로 검색
- 입력: 내용 검색어, 파일 타입 필터(선택적)
-
출력: 내용을 포함하는 파일 목록
-
search_by_regex: 정규식을 이용한 검색
- 입력: 정규식 패턴, 검색 범위
- 출력: 패턴에 맞는 파일 목록
고급 검색
- search_by_metadata: 메타데이터 기반 검색
- 입력: 메타데이터 키-값 쌍, 파일 타입
-
출력: 지정된 메타데이터를 가진 파일 목록
-
search_by_date: 날짜 기반 검색
- 입력: 시작일, 종료일, 날짜 타입(생성/수정/접근)
-
출력: 지정된 날짜 범위의 파일 목록
-
search_by_size: 파일 크기 기반 검색
- 입력: 최소 크기, 최대 크기
- 출력: 지정된 크기 범위의 파일 목록
파일 정보
- get_file_info: 파일 상세 정보 조회
- 입력: 파일 경로
-
출력: 파일 크기, 날짜, 속성, 메타데이터 등
-
get_duplicate_files: 중복 파일 검색
- 입력: 기준 경로, 중복 검사 방법(이름, 내용, 해시)
- 출력: 중복 파일 그룹 목록
색인 관리
- update_index: 파일 색인 업데이트
- 입력: 없음 또는 특정 경로
-
출력: 업데이트 상태
-
get_index_status: 색인 상태 확인
- 입력: 없음
- 출력: 색인 크기, 마지막 업데이트 시간, 색인된 파일 수
사용 방법
설치
# npm을 통한 설치
npm install -g everything-search-mcp
# 또는 OS별 패키지
# Windows
winget install everything-search-mcp
# macOS
brew install everything-search-mcp
# Linux
apt install everything-search-mcp # Debian/Ubuntu
구성
Claude Desktop에서 이 서버를 사용하려면 다음과 같이 설정합니다:
{
"mcpServers": {
"everything-search": {
"command": "npx",
"args": ["everything-search-mcp"],
"env": {
"SEARCH_ROOT": "/home/user", // 기본 검색 루트 디렉토리
"MAX_RESULTS": "1000", // 최대 결과 수
"ENABLE_CONTENT_SEARCH": "true"
}
}
}
}
필요 조건
운영체제별 필요 조건:
- Windows: Everything 검색 엔진 설치 (1.4.1 이상)
- macOS: 특별한 요구사항 없음 (Spotlight 색인 활성화 권장)
- Linux: locate 또는 plocate 패키지 설치
추가 필요 사항: - Node.js v14 이상 (Node.js 구현의 경우) - Python 3.7 이상 (Python 구현의 경우) - 파일 내용 검색을 위한 충분한 디스크 공간
사용 예시
// 기본 파일 검색
const results = await search_files("project report", {
extensions: ["docx", "pdf", "pptx"],
path: "/Users/username/Documents"
});
console.log(`${results.length}개의 파일을 찾았습니다.`);
// 파일 내용으로 검색
const contentResults = await search_by_content("climate change data", {
extensions: ["txt", "md", "csv"],
maxResults: 20
});
console.log(`관련 내용이 있는 파일: ${contentResults.length}개`);
// 날짜 범위로 검색
const dateResults = await search_by_date(
"2025-01-01",
"2025-05-14",
"modified"
);
console.log(`올해 수정된 파일: ${dateResults.length}개`);
// 중복 파일 검색
const duplicates = await get_duplicate_files("/Users/username/Pictures", "content");
console.log(`${duplicates.length}개의 중복 파일 그룹을 발견했습니다.`);
// 색인 상태 확인
const indexStatus = await get_index_status();
console.log(`색인됨: ${indexStatus.totalFiles}개 파일, 마지막 업데이트: ${indexStatus.lastUpdate}`);
// 색인 업데이트
await update_index();
console.log("색인이 업데이트되었습니다.");
연결된 구성 요소
- Filesystem - 파일 시스템 기능과 통합하여 더 다양한 파일 작업 수행
- Terminal-Control - 터미널 명령과 함께 사용하여 찾은 파일 처리
- Git - 찾은 파일의 버전 관리 및 변경 이력 확인